﻿/* 2012/5/4 */
using System;
using System.Collections.Generic;

namespace Cosmos.Windows.Forms.FileList
{
    public class IndexEventArgs : EventArgs
    {
        public IndexEventArgs(int index)
        {
            Index = index;
        }

        public int Index
        {
            get;
            protected set;
        }
    }

    public delegate void IndexEventHandler(object sender, IndexEventArgs e);

    public class IndicesEventArgs : EventArgs
    {
        public IndicesEventArgs(int[] indices)
        {
            Indices = indices;
        }

        public int[] Indices
        {
            get;
            protected set;
        }
    }

    public delegate void IndicesEventHandler(object sender, IndicesEventArgs e);

    public class PathEventArgs : EventArgs
    {
        public PathEventArgs(string path)
        {
            Path = path;
        }

        public string Path
        {
            get;
            protected set;
        }
    }

    public delegate void PathEventHandler(object sender, PathEventArgs e);

    public class PathsEventArgs : EventArgs
    {
        public PathsEventArgs(string[] paths)
        {
            Paths = paths;
        }

        public string[] Paths
        {
            get;
            protected set;
        }
    }

    public delegate void PathsEventHandler(object sender,PathsEventArgs e);

    public class PathInsertedEventArgs : EventArgs
    {
        public PathInsertedEventArgs(int index, string path)
        {
            Index = index;
            Path = path;
        }

        public int Index
        {
            get;
            protected set;
        }

        public string Path
        {
            get;
            protected set;
        }
    }

    public delegate void PathInsertedEventHandler(object sender, PathInsertedEventArgs e);

    public class RenamedEventArgs : EventArgs
    {
        public RenamedEventArgs(string srcPath, string dstPath)
        {
            SourcePath = srcPath;
            DestinationPath = dstPath;
        }

        public string SourcePath
        {
            get;
            protected set;
        }

        public string DestinationPath
        {
            get;
            protected set;
        }
    }

    public delegate void RenamedEventHandler(object sender, RenamedEventArgs e);
}